Data servers generally find themselves in many circumstances for many purposes. However, the present invention is particularly directed to the use of data servers in media networks where the media data are transmitted in packet form. Such uses may specifically be in the purposes of media gateways and media servers for media networks such as telephony networks.
Indeed, it is in the environment of telephony networks where the present invention finds particular utility. Telephony networks carry voice data, in particular, which has been coded into digital format. However, while the human ear may be forgiving to a certain extent, it will not tolerate significant interruptions or delay in the passage of spoken messages. In other words, unlike data networks in which delays or interruptions in the delivery of packetized data may be tolerated, at least to some extent, the transmission and processing of voice messages, and also video messages and the like, must take place essentially in real time. Thus, data servers such as gateways and media servers must be constituted in such a manner that they are capable of functioning with high throughput and accuracy of data management and processing.
The following discussion is particularly directed to data servers, and how a data server may be included in a network. Particular discussion follows as to the configuration of data servers when used as media servers; but it will be understood that the discussion is applicable as well to gateways and other configurations of data servers, as will be clear to those who are skilled in the art.
Data servers which are configured as media servers, as they are employed in telephony networks, perform a variety of basic and enhanced services which include conferencing, interactive voice response, transcoding, announcement, and other advanced speech services. They may also be employed in networks which provide video conferencing services, as well as typical data exchange services of the sort which occurs over the Internet, over virtual private networks, within wide area networks and local area networks, and the like. In each instance, the data of any sort, whether it be voice, video, numerical or text data, or a multimedia stream comprising any combination of these data, is packetized—that is, the data are sent in packets.
Media servers are connected directly to a packet network, and may therefore be found in use in many service provider locations including those who provide wireless, cable modem, xDSL, fibre, and copper access technologies; provided, however, that the core network within which the immediate server may be found is one which is based on packet technologies such as IP, ATM, Frame Relay, and variations of such technologies as they are used for mobile telephony.
Media servers perform real time processing of media streams which may originate from such devices as personal computers, IP phones, mobile phones, and traditional phones, via an appropriate media gateway. Typical functions that may be performed by media servers include decoding and collecting DTMF tones, or coded messages indicating the presence of DTMF tones. They may also play complex audio announcements stored on a data server or on an external file server, they may bridge multiple audio signals, they may transcode between different codec types and bit rates, they may level shift the level of audio signals for manual or automatic gain control, and they may convert text to speech or speech to text. Media servers may also recognize voice commands, bridge video signals, detect which party in a conference is speaking—or speaking the loudest—and decode/encode fax streams.
Typically, media servers are part of an enhanced services infrastructure in packet networks which use a decomposed architecture, such as softswitch architecture, PacketCable™ architecture, 3GPP/UTMS/EuroCable architecture, etc. The media servers will act as slaves to service logic which is resident in an application server, or will respond to similar control agents in the
switching plane of a control network, and they will provide state-of-the-art hardware which may be upgraded and which exhibits almost unlimited scaleability, without regard to the service logic which may be employed in an application server or softswitch, and without regard to whether or not there is the presence of a media gateway such as that which is required for other than pure VoIP/VoATM telephony.
Two other co-pending applications, Ser. Nos. 10/153,666, and 09/636,633, filed simultaneously herewith, describe other features and particularities of data servers, and particularly media servers of the sort generally contemplated herein. The present invention is particularly directed to the architecture of distributed software which is found on a data server in keeping with the present invention.
Of course, it will be kept in mind that data servers in keeping with the present invention may be dynamically upgraded, and are scaleable, so that the distributed software per se found in a data server in keeping with the present invention, as it may be discussed hereafter, is exemplary only because such software—and particularly the discrete software objects—may be continually upgraded, improved, and added to as new services are proposed.
It will also be understood that the kind of services that are provided by data servers, and particularly by media servers, in keeping with the present invention, are such that they provide added value to the basic media processing services which may be provided to customers of any service provider.
The present discussion provides a system level view of the data server functionality, and teaches a processing engine for data servers that will undertake advanced services where the packetized media data of any customer of any service provider must be processed in real time or near real time.
Any data server in keeping with the packet present invention functions particularly as a device which may be directed to an internet protocol operating network, such as an IP network that is intended to carry VoIP/VoATM packet telephony signals. As such, such a data server as is taught by the present invention may be deployed at the edge of an IP, ATM, or other packet network so as to be located in a favourable geographic location, or so as to be located near the head end of a cable TV organization or a cable telecommunications service provider, or at the central office of an xDSL telecommunications service provider.
Implementation and support of multi-processing are provided by the distributed software architecture in keeping with the present invention, as described hereafter.